#for循环输出九九乘法表

# 1
for i in range(1,10):     #控制行,循环输出9行
    for j in range(1,i+1): #控制每行个数，第几行输出几个
        print("{:}*{:}={:<4}".format(j,i,i*j),end="")   #靠左占位，不换行
    print("") #换行

print("="*70)

# 2
for i in range(9,0,-1):     #控制行,循环输出9行,倒着循环，每次减1
    for j in range(1,i+1): #控制每行个数，第几行输出几个
        print("{}*{}={:<4}".format(j,i,i*j),end="")   #靠左占位，不换行
    print("") #换行

print("="*80)

#3
for i in range(1,10): #输出9行
    for k in range(1,10-i):#控制每行的位置,第1行空8格，第8行空1格，依次
        print(end="         ")
    for j in range(1,i+1):#控制每行的个数 
        print("{}*{}={:<4}".format(i,j,i*j),end=" ")#用不换行和空格来对齐
    print("")

print("="*80)

#4
for i in range(1,10):#输出9行
    for k in range(1,i):#用空格来对齐，第1行不空格，第9行空8格
        print(end="         ")
    for j in range(i,10):#控制列的个数，第1行输出9列，第9行输出1列
        print("{}*{}={:<4}".format(i,j,i*j),end=" ")
    print("")

print("="*80)


#while循环输出九九乘法表
#1
i=1       #给初值
while i<=9: #循环9次
    j=1
    while j<=i: #控制列的值
        print("{}*{}={:<4}".format(j,i,i*j),end="") #输出不换行
        j +=1
    print("") #输出后换行
    i +=1 #输出每行后，循环下一行

print("="*70)

#2
i=9 #给初值，倒着循环
while i>=1: #循环9次
    j=1
    while j<=i:  #控制每行输出的个数
        print("{}*{}={:<4}".format(j,i,i*j),end="") #输出不换行
        j +=1
    print("")
    i -=1

#3
i=1 #给初值
while i<=9:#输出9行
    k=1
    while k<=9-i: #用空格来对齐，第1行空8格，第8行空1格，依次循环
        print(end="         ")
        k+=1
    j=1
    while j<=i:#控制输出每行的数量，第1行输出1列，第9行输出9列
        print("{}*{}={:<4}".format(j,i,i*j),end=" ")#用空格对齐
        j+=1
    print("")
    i+=1

print("="*80)

#4
i=9
while i>=1:
    k=1
    while k<=9-i:
        print(end="         ")#用空格来控制每行的位置，第1行不空格，第9行空8格
        k+=1
    j=1
    while j<=i:
        print("{}*{}={:<4}".format(j,i,i*j),end=" ")#用空格对齐
        j+=1
    print("")#换行
    i-=1#倒序循环
    
